﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace llibreria_alsas
{
    class ConversorLlibres : BDConnexio
    {
        public static void afegirLlibre(Llibres llibre, int autor, int tema)
        {
            int id = 0;
            SqlConnection con = obtenirConnexio();

            con.Open();

            SqlCommand selectId = new SqlCommand("Select max(isbn) from llibre", con);
            object val = selectId.ExecuteScalar();
            //Comprobar si ja hi ha dades dins la BD
            if (val != DBNull.Value)
            {
                id = Convert.ToInt32(val.ToString());
                id++;
            }
            else
            {
                id = 1;
            }

            SqlCommand insert = new SqlCommand("INSERT INTO llibre Values (" + id + ",'" + llibre.Titol_curt +
                   "','" + llibre.Titol_llarg + "','" + llibre.Resum + "','" + llibre.Premis +
                   "','" + llibre.Preu + "')", con);
            insert.ExecuteNonQuery();

            SqlCommand insertarLlibreAutor = new SqlCommand("INSERT INTO llibresAutors Values(" + id + ",'"+
                autor + "')",con);
            insertarLlibreAutor.ExecuteNonQuery();

            SqlCommand insertLlibreTema = new SqlCommand("INSERT INTO llibresTemas Values (" + id + ", " + tema + ")", con);
            insertLlibreTema.ExecuteNonQuery();

            con.Close();
        }


        public static DataTable sleccionarLlibres()
        {
            SqlConnection con = obtenirConnexio();
            DataTable llibres = new DataTable();
            SqlDataAdapter Dadapter;

            con.Open();

            Dadapter = new SqlDataAdapter("Select isbn, titol_curt, titol_llarg, resum, premis, preu from llibre", con);
            Dadapter.Fill(llibres);

            con.Close();

            return llibres;
        }

        public static DataTable seleccionarAutors()
        {
            SqlConnection con = obtenirConnexio();
            DataTable autors = new DataTable();
            SqlDataAdapter Dadapter;

            con.Open();

            Dadapter = new SqlDataAdapter("Select id, nom, cognom from autors",con);
            Dadapter.Fill(autors);     
            
            con.Close();

            return autors;
        }

        public static DataTable seleccionarTemas()
        {
            SqlConnection con = obtenirConnexio();
            DataTable temas = new DataTable();
            SqlDataAdapter Dadapter;

            con.Open();

            Dadapter = new SqlDataAdapter("Select id, tema from temas", con);
            Dadapter.Fill(temas);

            con.Close();

            return temas;
        }

        public static void eliminarLlibre(int isbn)
        {
            SqlConnection con = obtenirConnexio();
            con.Open();
            SqlCommand deleteIsbn = new SqlCommand("Delete from llibre where isbn = " + isbn, con);
            deleteIsbn.ExecuteNonQuery();
            con.Close();
        }
    }
}
